package com.tiheima.handler;

import com.tiheima.handler.exception.BizException;
import com.tiheima.model.result.Result;
import io.swagger.v3.oas.annotations.Hidden;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;

/**
 * @author byZhao
 * @create 2025/5/19 15:00
 * @description
 *   全局异常处理器
 *   1、定义类使用一个注解 @RestControllerAdvice  （@ControllerAdvice （@Component） @ResponseBody）
 *   2、定义方法使用一个注解 @ExceptionHandler 方法参数就是你要捕获异常类型  方法返回值就是你要处理统一响应类型
 */
@Slf4j
@Hidden
@RestControllerAdvice
public class GlobalExceptionHandler {

    // @ExceptionHandler(Exception.class)
    // public Result<String> handlerException(Exception e){
    //     log.error("出现异常信息了:{}",e.getMessage());
    //     return Result.error("您的网络有问题，请拔掉网线，重启计算机！联系网络维护人员！");
    // }

    @ExceptionHandler(BizException.class)
    public Result<String> handlerException(BizException e){
        log.error("出现异常信息了:{}",e.getMessage());
        return Result.error(e.getMessage());
    }

}
